﻿

namespace Huirui.Cavan.Application.MainBoundedContext.Setting
{
    using System;
    using System.Collections.Generic;
    using System.Diagnostics.Contracts;
    using System.Linq;
    using Huirui.Cavan.Core.Settings;
    using Huirui.Cavan.Domain.MainBoundedContext.SystemModule;

    /// <summary>
    ///     Append Project base settings here (and in the implementor e.g. class ProjectSettings).
    ///     Extend the Project.config 'project/project' section with new 
    ///     'Add' element with the 'Key/Value' pair - where the Key equals to the Property name.
    ///     Access these settings anywhere in the application:
    ///     'Project.Settings.MyProperty....'
    /// </summary>
    public interface IProjectSettings : IBaseSettings
    {
        /// <summary>
        ///     Production, Test, Development 
        ///     (NOTE: this is just an example)
        /// </summary>
        string Environment { get; }

        string DefaultInfo { get; set; }

        Area DefaultArea { get; set; }

        bool IsFree { get; set; }

        string CityCookieName { get; set; }
    }
}